home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 050 / madtrb7.arc / RDIBMKBD.INC < prev    next >
Text File  |  1985-02-03  |  2KB  |  46 lines

  1. (*******************************************************************)
  2. (*  this procedure reads the IBM keyboard.  Cursor keys are        *)
  3. (*  returned as control keys.  Extended function keys are          *)
  4. (*  returned as ASCII chars <131-140> The extra escape character   *)
  5. (*  is eliminated.                                                 *)
  6. (*  REMEMBER:  The USER INTERUPT COMPILER DIRECTIVE MUST BE        *)
  7. (*             PASSIVE ($U-) FOR THIS ROUTINE TO WORK.             *)
  8. (*******************************************************************)
  9. procedure ReadIBMch(var ch: char);
  10. var   ech: char;
  11. begin  {  ReadIBMch  }
  12. {$U-}
  13.   ch := #00;
  14.   Read(kbd,ch);
  15.   if (ch = ^[) and KeyPressed  then
  16.     begin
  17.       Read(kbd,ech);   ch := #00;
  18.       case Ord(ech)  of
  19.         15 : ch := ^O;  { BACK TAB }
  20.  
  21.         59 : ch := #131;{ PF 1 (HELP) KEY }
  22.         60 : ch := #132;{ PF 2 }
  23.         61 : ch := #133;{ PF 3 }
  24.         62 : ch := #134;{ PF 4 }
  25.         63 : ch := #135;{ PF 5 }
  26.         64 : ch := #136;{ PF 6 }
  27.         65 : ch := #137;{ PF 7 }
  28.         66 : ch := #138;{ PF 8 }
  29.         67 : ch := #139;{ PF 9 }
  30.         68 : ch := #140;{ PF 10 }
  31.  
  32.         72 : ch := ^E;  { CURSOR UP }
  33.         73 : ch := ^W;  { PAGE UP }
  34.         75 : ch := ^S;  { CURSOR LEFT }
  35.         77 : ch := ^D;  { CURSOR RIGHT }
  36.         79 : ch := ^F;  { END }
  37.         80 : ch := ^X;  { CURSOR DOWN }
  38.         81 : ch := ^Z;  { PAGE DOWN }
  39.         82 : ch := ^U;  { INSERT }
  40.         83 : ch := ^G;  { DELETE }
  41.       else Write(^G);  (* Sound Speaker *)
  42.       end;  {case }
  43.     end;
  44. {$U+}
  45. end;   {  ReadIBMch  }
  46.